How Does a "Card Application" Behave?

Return to LameCard article


Apple Computer's [HyperCard], introduced in 1987, was the first development environment which allowed a programmer to create an application which behaved like a "stack of cards". Not only do these applications resemble stacks of cards to the user, but the developer is fully aware of the card-like nature of the application during development.

In a card-like application, controls (called "objects" in HyperCard) reside on identically-sized virtual "cards" that are assembled in a "stack". In fact, "stack" became the generic name for a HyperCard-built application, as in "Dude, take a look at this new stack I just created".

In a card-like application, users interact with the application by navigating through the cards in the stack. Typically, cards have buttons or other controls which, when pressed, allow the user to navigate to other cards deeper in the stack. These new cards also have their own controls which allow the user to navigate to yet more cards elsewhere in the stack. In fact, HyperCard allowed navigation to cards located in other stacks!

If the card-like environment sounds similar to, oh, the World Wide Web, that is not a coincidence. HyperCard appears to be one of the inspirations for Tim Berners-Lee as the WWW concept grew within his mind. In fact, Berners-Lee mentions HyperCard in his original 1989 memo proposing a worldwide document linking system, [Information Management: A Proposal]

Because HyperCard was so easy to use, and because it was originally shipped free with every new Mac, it instantly made programmers out of tens of thousands of people who otherwise never would have written programs.

It goes without saying that LameCard does not provide the sophistication of HyperCard. Not even close. But as you write a LameTalk script, you should have the sense that you are creating a stack, one card at a time.


Return to LameCard article